<?php 
/**
 * Copyright (c) 2010, Slawomir Mazur <mazursllawek@gmail.com>
 * 
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions 
 * are met:
 * 
 * o Redistributions of source code must retain the above copyright notice, 
 *   this list of conditions and the following disclaimer.
 * o Redistributions in binary form must reproduce the above copyright notice,
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 * o Neither the name of the Softisland nor the names of its contributors
 *   may be used to endorse or promote products derived from this software
 *   without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * Enter description here...
 *
 * @package     Admin
 * @subpackage  Admin_Attribute
 * @copyright   Slawomir Mazur (c) 2010 (http://www.zend.com/zce.php?c=ZEND011643)
 * @license     http://www.opensource.org/licenses/bsd-license.php
 * @author      Slawomir Mazur <mazursllawek@gmail.com>
 */
?>

<div><?php echo $this->messenger() ?></div>

<?php echo $this->form ?>

<script type="text/javascript">
//<![CDATA[
    var autoComplete = ($('#attribute-code').attr('readonly'))? false : true;
    
	$('#attribute-submit').click(function() {
		$('#attribute').validate();
	});

	$('#attribute-cancel').click(function() {
		setLocation('<?php echo $this->baseUrl('admin/attribute') ?>');
	});

	$('#attribute-name').focus();
	
	$('#attribute-name').focus(function() {
		if (('' == $(this).val()) && (!$('#attribute-code').attr('disabled'))) {
			autoComplete = true;
		}
	});
	
	$('#attribute-name').keyup(function() {
		if (!autoComplete) {
			return false;
		}

		var value = $(this).val().toLowerCase();
		var reg = new RegExp('[^a-zA-Z_]', 'gi');

		$('#attribute-code').val(value.replace(reg, '_'));
	})

	$('#attribute-code').focus(function() {
		autoComplete = false;
	});

	// happy hacking
	var rowToRemove = $('#attribute-typesize').parent().parent();
	$('#attribute-type').after('&nbsp;' + $('#attribute-typesize').parent().html());
	$('#attribute-type').css({ width: '130px' });
	$('#attribute-type').change(updateAttributeTypeSize);
	rowToRemove.remove();
	
	$('#attribute-delete').click(function() {
		if (confirm('You sure you want to delete this attribute?')) {
			$('#attribute').attr('action', '<?php echo $this->baseUrl('admin/attribute/delete') ?>');
		} else {
			return false;
		}
	});

	function updateAttributeTypeSize() {
		var value = $('#attribute-type').val();
		
		switch (value) {
			case 'char' :
				$('#attribute-typesize').val(30);
				break;
			case 'varchar' : 
				$('#attribute-typesize').val(50);
				break;
			case 'text' : 
				$('#attribute-typesize').val('-');
				break;
			case 'tinyint' : 
				$('#attribute-typesize').val(4);			
				break;
			case 'smallint' : 
				$('#attribute-typesize').val(5);
				break;
			case 'int' : 
				$('#attribute-typesize').val(11);
				break;
			case 'yes/no' :
				$('#attribute-typesize').val('yes,no');
				break;
			default :
				$('#attribute-typesize').val('');
				break; 
		}
	}
	updateAttributeTypeSize();
//]]>
</script>